﻿#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPainter>
#include <QColor>
#include <QImage>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();


protected:
    // 键盘事件处理函数
    void keyPressEvent(QKeyEvent *event) override;

    // 鼠标按下事件处理函数
    void mousePressEvent(QMouseEvent *event) override;

    // 鼠标释放事件处理函数
    void mouseReleaseEvent(QMouseEvent *event) override;

    // 鼠标移动事件处理函数
    void mouseMoveEvent(QMouseEvent *event) override;

    // 绘制事件处理函数
    void paintEvent(QPaintEvent *event) override;

private:
    QImage canvas;       // 画布图像
    QPoint lastPoint;    // 上一次鼠标的位置
    bool drawing;        // 是否正在绘制
    QColor penColor;     // 当前画笔颜色

    void clearCanvas();  // 清空画布
};
#endif // MAINWINDOW_H
